﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        //        编写一个程序，用以接收用户输入的两个浮点型的数值，一个值表示用户想要存放在银行账户中的余额，另一个值表示用户想要从银行账户中提取的金额。
        //实现存取款功能，
        //用户功能选择：1、存款，2、取款
        //取款时：
        //当用户想要提取的金额大于余额时，请手动抛出一个ArgumentOutOfRangeException 参数超出范围的异常，异常信息可以写“取款金额大于余额，请重新输入”
        //，如此以确保取款金额始终不大于当前余额。
        //操作结束，打印输出余额是多少。
        //最后再添加catch一般异常 Exception，使得数据类型转换的异常也能被捕获到。

        static void Main(string[] args)
        {
            //Console.WriteLine("输入你要存多少钱：");
            //float a = float.Parse(Console.ReadLine());
            float money = 0;
            while (true)
            {
                Console.WriteLine("1、存款，  2、取款");
                int key = int.Parse(Console.ReadLine());

                switch (key)
                {
                    case 1:
                        Console.WriteLine("请输入你要存多少钱");
                        float a = float.Parse(Console.ReadLine());
                        money += a;
                        break;
                    case 2:
                        try
                        {
                            Console.WriteLine("请输入你要取得金额");
                            float b = float.Parse(Console.ReadLine());
                            if (money - b < 0)
                            {
                                throw new ArgumentOutOfRangeException("取款金额大于余额，请重新输入");

                            }
                            else
                            {
                                money -= b;
                                Console.WriteLine("取款成功");
                                Console.WriteLine(money);

                            }
                        }
                        catch (Exception e)
                        {

                            Console.WriteLine(e.Message);
                        }
                        break;
                    default:
                        break;
                }

            }

        }
    }
}
